Progressive profiling in an automation system

ABSTRACT

A computer-implemented method for progressive profiling in a home automation system is described. Data related to a premises and an occupant of the premises may be analyzed and one or more observations may be made based on the analysis of the data. Upon detecting one or more conditions associated with the one or more observations made, an offer to perform one or more actions may be communicated to the occupant.

CROSS REFERENCE

This application claims priority from U.S. Provisional PatentApplication No. 61/933,998 entitled “PROGRESSIVE PROFILING IN ANAUTOMATION SYSTEM,” which was filed 31 Jan. 2014, and assigned to theassignee hereof.

BACKGROUND

Advancements in premises automation and security systems andmedia-related technologies continue to increase at a rapid pace.Increasing demand for automation and security has influenced theadvances made to automation and security systems. Computer systems haveincreasingly become an integral part of the automation and securitysystems. Computer systems may be used to carry out several automationand security functions. The wide-spread access to automation andsecurity has been accelerated by the increased use of computer networks,including the Internet and cloud networking.

Many homes and businesses use one or more computer networks to controlone or more aspects of the home or business, and to generate, deliver,and receive data and information between the various computers connectedto computer networks. Users of computer technologies continue to demandincreased access to information and an increase in the efficiency ofthese technologies. Improving the efficiency of computer technologies isdesirable to those who use and rely on computers.

With the wide-spread use of computers and mobile devices has come anincreased presence of premises automation and premises securityproducts. In some cases, however, an automation system may performactions that an occupant does not want automated, or may perform actionsdifferently than how the occupant wants the actions performed. As aresult, benefits may be realized by providing systems and methods forprogressively profiling occupants in relation to a premises automationand security system.

SUMMARY

According to at least one embodiment, a computer-implemented method forprogressive profiling in a home automation system is described. Datarelated to a premises and an occupant of the premises may be analyzedand one or more observations may be made based on the analysis of thedata. Upon detecting one or more conditions associated with the one ormore observations made, an offer to perform one or more actions may becommunicated to the occupant.

In one embodiment, one or more observations may be communicated to theoccupant. At least one of the observations may be based on the occupantpreviously performing the one or more actions under one or moreconditions. In some cases, it may be confirmed with the occupant whetherto perform the one or more actions offered. In some cases, an offer toperform the one or more actions may be communicated upon predicting oneor more conditions before the one or more conditions occur. Uponreceiving a confirmation from the occupant in the affirmative, the oneor more actions may be performed. In some cases, upon receiving aconfirmation from the occupant in the affirmative, a setting may besaved in a profile of the occupant based on the one or more actionsperformed and the one or more conditions under which the one or moreactions are performed.

In one embodiment, at least one observation is made in relation to oneor more words written by the occupant and/or one or more words spoken bythe occupant. Upon generating a communication intended for the occupant,the manner in which the occupant communicates may be simulated in thecommunication. At least one observation may be made in relation to anidentity of the occupant, a profile of the occupant, what action isperformed, when an action is performed, who performs the action, wherethe action is performed, a device used to perform the action, an outsidetemperature, an indoor temperature, a state of one or more electronicdevices before the action is performed, and/or a state of one or moreelectronic devices after the action is performed.

A computing device configured to obscure content on a screen is alsodescribed. The device may include a processor and memory in electroniccommunication with the processor. The memory may store instructions thatmay be executable by the processor to analyze data related to a premisesand an occupant of the premises, make one or more observations based onthe analysis of the data, and upon detecting one or more conditionsassociated with the one or more observations made, offer to perform oneor more actions.

A computer-program product to obscure content on a screen is alsodescribed. The computer-program product may include a non-transitorycomputer-readable medium that stores instructions. The instructions maybe executable by the processor to analyze data related to a premises andan occupant of the premises, make one or more observations based on theanalysis of the data, and upon detecting one or more conditionsassociated with the one or more observations made, offer to perform oneor more actions.

Features from any of the above-mentioned embodiments may be used incombination with one another in accordance with the general principlesdescribed herein. These and other embodiments, features, and advantageswill be more fully understood upon reading the following detaileddescription in conjunction with the accompanying drawings and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate a number of exemplary embodimentsand are a part of the specification. Together with the followingdescription, these drawings demonstrate and explain various principlesof the instant disclosure.

FIG. 1 is a block diagram illustrating one embodiment of an environmentin which the present systems and methods may be implemented;

FIG. 2 is a block diagram illustrating one example of a progressiveprofiling module;

FIG. 3 is a block diagram illustrating one example of an environment forenabling progressive profiling of an occupant of a premises;

FIG. 4 is a block diagram illustrating another example of an environmentfor enabling progressive profiling of an occupant of a premises;

FIG. 5 is a flow diagram illustrating one embodiment of a method forreceiving a user input to control home automation via a media set topbox;

FIG. 6 is a flow diagram illustrating one embodiment of a method forautomatically adjusting, via a media set top box, an aspect of a homeautomation system based on a detected action of a user; and

FIG. 7 depicts a block diagram of a computer system suitable forimplementing the present systems and methods.

While the embodiments described herein are susceptible to variousmodifications and alternative forms, specific embodiments have beenshown by way of example in the drawings and will be described in detailherein. However, the exemplary embodiments described herein are notintended to be limited to the particular forms disclosed. Rather, theinstant disclosure covers all modifications, equivalents, andalternatives falling within the scope of the appended claims.

DETAILED DESCRIPTION

The systems and methods described herein relate to home automation. Morespecifically, the systems and methods described herein relate toprogressively profiling occupants of a premises in relation to a homeautomation system. Each occupant of the premises may be profiledseparately and individually. Thus, a profile may be generated for eachoccupant of the premises based on observations the systems and methodsmake in relation to one or more actions taken by an occupant and theconditions under which the occupant takes the one or more actions. Basedon the observations made, the systems and methods may communicate to theoccupant an offer to perform the one or more actions. In some cases, thesystems and methods may observe an occupant performing one or moreactions that vary from the one or more actions the systems and methodsalready perform on behalf of the occupant. For example, every evening atdusk a system may dim the lights, turn down the thermostat, and closethe blinds. The system may observe an occupant adjusting the settemperature of the thermostat.

In some cases, the system may observe that the occupant only adjusts thetemperature from the set temperature on the weekends. Accordingly, thesystem may state that the occupant has been observed adjusting thethermostat on weekends. The system may offer to make this adjustment onbehalf of the occupant on weekends. For example, the system may show thepresent settings for the weekend and show new settings the system maytake on behalf of the occupant based on the observations the system hasmade. The system may show the present settings of the weekdays and askwhether to keep these settings as they are. In some cases, the systemsand methods may monitor the manner in which an occupant communicates(e.g., email, text messages, conversations, etc.). Thus, upon learningthe manner in which the occupant communicates, the systems and methodsmay communicate with the occupant in a similar manner, using words andphrases in a manner similar to the way the occupant uses them.

FIG. 1 is a block diagram illustrating one embodiment of an environment100 in which the present systems and methods may be implemented. In someembodiments, the systems and methods described herein may be performedon a device (e.g., device 105). The environment 100 may include a device105, server 110, a sensor 125, a mobile computing device 155, a premisesautomation controller 160, and a network 115 that allows the device 105,the server 110, the mobile computing device 155, premises automationcontroller 160, and sensor 125 to communicate. Examples of the device105 include mobile devices, smart phones, personal computing devices,computers, servers, premises automation controllers, premises securitycontrollers, media content set top boxes, satellite set top boxes, cableset top boxes, DVRs, personal video recorders (PVRs), and the like.Examples of the premises automation controller 160 include a dedicatedhome automation computing device (e.g., wall-mounted controller), apersonal computing device (e.g., laptop, desktop, etc.), a mobilecomputing device (e.g., tablet computing device, smartphone, etc.), andthe like. Examples of the sensor 125 include a camera, three-dimensional(3-D) sensor, motion sensor, smoke sensor, glass break sensor, doorsensor, window sensor, carbon monoxide sensor, and the like. Sensor 125may also be integrated with a facial recognition system. Although sensor125 is depicted as connecting to device 105 over network 115, in someembodiments, sensor 125 may connect directly to device 105.

In some configurations, the device 105 may include a user interface 135,application 140, and progressive profiling module 145. Although thecomponents of the device 105 are depicted as being internal to thedevice 105 it is understood that one or more of the components may beexternal to the device 105 and connect to device 105 through wiredand/or wireless connections. In some embodiments, application 140 may belocated on mobile computing device 155 in order to allow a user tointerface with a function of device 105 and/or progressive profilingmodule 145.

In some embodiments, device 105 may communicate with server 110 vianetwork 115. Example of networks 115 include cloud networks, local areanetworks (LAN), wide area networks (WAN), virtual private networks(VPN), wireless networks (using 802.11, for example), cellular networks(using 3G and/or LTE, for example), etc. In some configurations, thenetwork 115 may include the internet. It is noted that in someembodiments, the device 105 may not include a progressive profilingmodule 145. For example, the device 105 may include the application 140that allows the device 105 to interface with the premises automationcontroller 160 via the progressive profiling module 145 located onserver 110. In some embodiments, the device 105, the premises automationcontroller 160, and the server 110 may include a progressive profilingmodule 145 where at least a portion of the functions of the progressiveprofiling module 145 are performed separately and/or concurrently on thedevice 105, mobile computing device 155, premises automation controller160, and/or the server 110. In some embodiments, a user may access thefunctions of device 105 and/or premises automation controller 160(directly or through device 105 via progressive profiling module 145)from mobile computing device 155. For example, in some embodiments,mobile computing device 155 includes a mobile application thatinterfaces with one or more functions of device 105, premises automationcontroller 160, progressive profiling module 145, and/or server 110.

In some embodiments, the server 110 may be coupled to database 120. Forexample, device 105 may access user profiles 150 in database 120 overthe network 115 via server 110. Database 120 may be internal or externalto the server 110. In one example, the device 105 may be coupled todatabase 120 via network 115.

Progressive profiling module 145 may allow a user to control (eitherdirectly or via premises automation controller 160) an aspect of thehome of the user, including security, locking or unlocking a door,checking the status of a door, locating a person or item, controllinglighting, adjusting window coverings (blinds, curtains, shutters, etc.),adjusting thermostat devices, controlling cameras, and the like. In someconfigurations, application 140 may enable device 105 to interface withpremises automation controller 160 via progressive profiling module 145to provide home automation functions to device 105 and/or mobilecomputing device 155. Thus, application 140, via the progressiveprofiling module 145, may allow users to control aspects of their home.Further details regarding the progressive profiling module 145 arediscussed below.

FIG. 2 is a block diagram illustrating one example of a progressiveprofiling module 145-a. The progressive profiling module 145-a may beone example of the progressive profiling module 145 depicted in FIG. 1.As depicted, the progressive profiling module 145-a may include a dataanalysis module 205, an observation module 210, a communication module215, and an implementation module 220.

In one embodiment, data analysis module 205 may analyze data related toa premises and an occupant of the premises. Thus, data analysis module205 may monitor the status of one or more areas of a premises, monitorthe actions taken by an occupant of the premises, monitor the settingsof an automation and/or security system, and the like. In some cases,data analysis module 205 may gather data from one or more sources,including sensors (e.g., motion sensor, light sensor, temperaturesensor, camera, etc.), lights, light switches, remote actuated lockingmechanisms, media delivery systems, and/or any device from which aninput from one or more occupants of the premises may be received. In oneembodiment, at least one observation may be made in relation to anidentity of the occupant (e.g., facial recognition, device IDidentification such as a key fob identifier, etc.), a profile of theoccupant, what action is performed, when an action is performed, whoperforms the action, where the action is performed, a device used toperform the action, an outside temperature, an indoor temperature, astate of one or more electronic devices before the action is performed,and a state of one or more electronic devices after the action isperformed. In one example, data analysis module 205 may detect that at aparticular time of day, at a particular temperature indoors and/oroutdoors, an occupant may adjust a thermostat, adjust a set of windowcoverings (e.g., blinds, curtains, shutters, etc.), adjust lighting, andso forth. In one embodiment, observation module 210 may make one or moreobservations based on the analysis of the data gathered. Upon detectingone or more present conditions associated with the one or moreobservations made, communication module 215 may offer to perform one ormore actions on behalf of the occupant.

In some embodiments, communication module 215 may communicate to theoccupant one or more observations. At least one of the observations maybe based on the occupant previously performing one or more actions underone or more conditions. For example, communication module 215 maycommunicate to the occupant that it has been observed that the occupantadjusts the lights and temperature under certain circumstances. In somecases, communication module 215 may communicate to the occupant theconditions and/or circumstances in which the occupant has been observedto take the one or more actions. In one embodiment, communication module215 may communicate to the occupant that presently the one or moreconditions exist. Upon notifying the occupant that the one or moreconditions exist, the system may offer to perform one or more actions onbehalf of the occupant. In some embodiments, one or more observationsmay be made relative to one or more existing settings. For example, oneor more automated settings may exist with regards to lighting in thepremises.

The system may observe that under certain conditions, the occupantperforms one or more actions that vary from the automated settings.Accordingly, the system may communicate to the occupant that one or moreactions of the occupant that vary from the automated settings, and querywhether the occupant would like the observed actions to be automated.The communication module 215 may communicate to the occupant the currentsettings, adjustments to the settings, how the adjustments affect thecurrent settings, and query whether the occupant would like theadjustments to be implemented. In some cases, the data analysis module205 may predict one or more conditions. Thus, the communication module215 may offer to perform the one or more actions upon predicting one ormore conditions before the one or more conditions occur. In oneembodiment, communication module 215 may confirm with the occupantwhether to perform the one or more actions offered. For example,communication module 215 may communicate an observation in relation toone or more actions taken by the occupant under one or more conditions,notify the occupant that the one or more conditions exist, offer toperform the one or more actions, and confirm whether the occupant wouldlike the system to perform those actions on his or her behalf. Uponreceiving a confirmation from the occupant in the affirmative,implementation module 220 may perform the one or more actions.

In some embodiments, upon receiving a confirmation from the occupant inthe affirmative, implementation module 220 may save a setting in aprofile of the occupant based on the one or more actions performed andthe one or more conditions under which the one or more actions areperformed. For example, implementation module 220 may save data relatedto the profiling of an occupant in a database of user profiles such asuser profiles 150 stored in database 120. In some cases, at least oneobservation may be made in relation to one or more words written by theoccupant. For example, data analysis module 205 may analyze email, textmessages, and other written communication of an occupant to determinethe writing style of the occupant. In some cases, at least oneobservation may be made in relation to one or more words spoken by theoccupant. Thus, data analysis module 205 may analyze a conversation, aspoken query, and other spoken communication made by the occupant todetermine a speech style of the occupant. Accordingly, in relation tothe monitored communications of an occupant of the premises,communication module 215 may learn language characteristics of anoccupant including slang, syntax, semantics, pragmatics, linguistics,connotation, pronunciation, exposition, exegetics, denotations,semiotics, verb usage, noun usage, subject-verb-object (SVO) usage, etc.In some cases, communication module 215 may save learned languagecharacteristics in a profile associated with the occupant. Accordingly,communication module 215 may communicate with the occupant using thelearned language characteristics of the occupant in order to communicatewith the occupant using the same words the occupant uses, and using thewords in the same way that the occupant uses the words to write andspeak. Thus, upon generating a communication intended for the occupant,communication module 215 may simulate, in the generated communication,the manner in which the occupant communicates.

FIG. 3 is a block diagram illustrating one example of an environment 300for enabling progressive profiling of an occupant of a premises. In someconfigurations, aspects of the environment 300 may be implemented by theprogressive profiling module 145 illustrated in FIG. 1 or 2. In someconfigurations, aspects of the environment 300 may be implemented inconjunction with the application 140 and/or the user interface 135illustrated in FIG. 1.

In one embodiment, environment 300 may include device 105-a. The device105-a may be one example of the device 105 depicted in FIG. 1. Device105-a may include a display 130-a. Display 130-a may be one example ofthe display 130 depicted in FIG. 1. Display 130-a may include a titlesection 310, a message section 315, and a user interface section 135-a.User interface section 135-a may be one example of user interface 135depicted in FIG. 1. In one example, the title section 310 may include asymbol and/or one or more words to describe the affected system. Forexample, observations may be made with regards to a lighting system, amedia system, a temperature control system, a humidity control system, asecurity system, and the like. As depicted, an observation is made withregards to a lighting system of the premises as depicted in the titlesection 310. Thus, the title section 310 includes a symbol for thelighting system and the word “LIGHTING” to provide a quick reference toany included message. Additionally, or alternatively, the title section310 may include an information icon (e.g., the circle “i” icon depictedin title section 310) that may be configured to provide an occupant moreinformation regarding the observation and/or the observation system whenthe occupant selects the icon.

In some embodiments, the display 130-a may include a message section315. The message section 315 may include an observation made by theprogressive profiling module 145. For example, the message section 315may include the observation “I've noticed that you turn the outsidelights on at dusk,” as depicted in FIG. 3. Additionally, oralternatively, the message section 315 may include a suggested actionthe system could take on behalf of the occupant. In some cases, themessage section 315 may present the suggested action in the form of aquery with a confirmation request. Thus, the suggested action may be inthe form of a query to enable the occupant to confirm that the suggestedaction will be performed on behalf of the occupant. Thus, as depicted,the message section 315 may include the query, “Would you like me toturn the outside lights on each evening at dusk for you?” In some cases,the progressive profiling module 145 may include one or more follow-upqueries to confirm a suggested action. Accordingly, the message section315 may include a confirmation request such as “Would you like me toperform this action every day?” or “Would you like me to perform thisaction even when the premises is empty?” and so forth. As depicted, thedisplay 130-a may show a user interface section 135-a. The userinterface section 135-a may provide a means whereby an occupant mayprovide a reply in response to a query included in the message section315. For example, the user interface section 135-a may include a buttontitled “OK” and another button titled “CANCEL,” as depicted in FIG. 3.Accordingly, upon detecting the occupant pressing the “OK” button, thesystem may determine that the occupant wants the progressive profilingmodule 145 to perform the indicated action on behalf of the occupant.Upon detecting the occupant pressing the “CANCEL” button, the system maydetermine that the occupant does not want the action performed on his orher behalf. In some embodiments, upon receiving a negative confirmation(i.e., the occupant pressing the “CANCEL” button), the progressiveprofiling module 145 may communicate one or more follow-up queries tothe occupant to determine whether the occupant wants one or more actionsperformed on his or her behalf under different circumstances.

FIG. 4 is a block diagram illustrating another example of an environment400 for enabling progressive profiling of an occupant of a premises. Insome configurations, aspects of the environment 400 may be implementedby the progressive profiling module 145 illustrated in FIG. 1 or 2. Insome configurations, aspects of the environment 400 may be implementedin conjunction with the application 140 and/or the user interface 135illustrated in FIG. 1.

In one embodiment, environment 400 may include device 105-b. The device105-b may be one example of the device 105 depicted in FIGS. 1 and/or 3.Device 105-b may include a display 130-b. Display 130-b may be oneexample of the display 130 depicted in FIGS. 1 and/or 3. Display 130-bmay include a title section 410, a message section 415, and a userinterface section 135-b. User interface section 135-b may be one exampleof user interface 135 depicted in FIGS. 1 and/or 3. In one example, thetitle section 410 may include a symbol and/or one or more words todescribe the affected system. As depicted, an observation is made withregards to a lighting system of the premises as depicted in the titlesection 410.

In some embodiments, the display 130-b may include a message section415. The message section 415 may include an observation made by theprogressive profiling module 145. In some cases, the message section 415may include a suggested action and a confirmation request. For example,the message section 415 may include the observation “Your outside lightshave been turned on,” as depicted in FIG. 4. Additionally, oralternatively, the message section 415 may include a suggested actionthe system could take on behalf of the occupant. In some cases, themessage section 415 may present the suggested action in the form of aquery with a confirmation request. The suggested action may be in theform of a query to enable the occupant to confirm that the suggestedaction will be performed on behalf of the occupant. Thus, as depicted,the message section 415 may include the query, “Would you like theoutside light to always be turned on each evening at dusk?” As depicted,the display 130-b may show a user interface section 135-b. The userinterface section 135-b may provide a means whereby an occupant mayprovide a reply in response to a query included in the message section415. For example, the user interface section 135-b may include a buttontitled “CONFIRM” and another button titled “IGNORE,” as depicted in FIG.4. Accordingly, upon detecting the occupant pressing the “CONFIRM”button, the system may confirm that the occupant wants the progressiveprofiling module 145 to perform the indicated action on behalf of theoccupant. Upon detecting the occupant pressing the “IGNORE” button, thesystem may determine that the occupant does not want the actionperformed on his or her behalf. In some embodiments, upon receiving anegative confirmation (i.e., the occupant pressing the “IGNORE” button),the progressive profiling module 145 may communicate one or morefollow-up queries to the occupant to determine whether the occupantwants one or more actions performed on his or her behalf under differentcircumstances.

FIG. 5 is a flow diagram illustrating one embodiment of a method 500 forreceiving a user input to control home automation via a media set topbox. In some configurations, the method 500 may be implemented by theprogressive profiling module 145 illustrated in FIG. 1 or 2. In someconfigurations, the method 500 may be implemented in conjunction withthe application 140 and/or the user interface 135 illustrated in FIG. 1.

At block 505, data related to a premises and an occupant of the premisesmay be analyzed. At block 510, one or more observations may be madebased on the analysis of the data. In some cases, at least oneobservation is made in relation to one or more words written and/orspoken by the occupant. In one embodiment, the progressive profilingmodule 145 may communicate with the occupant using words in the same wayas the occupant uses the words to write and speak. Upon generating acommunication intended for the occupant, the progressive profilingmodule 145 may simulate the manner in which the occupant communicates.At block 515, upon detecting one or more conditions associated with theone or more observations made, one or more actions may be offered to beperformed.

FIG. 6 is a flow diagram illustrating one embodiment of a method 600 forautomatically adjusting, via a media set top box, an aspect of a homeautomation system based on a detected action of a user. In someconfigurations, the method 600 may be implemented by the progressiveprofiling module 145 illustrated in FIG. 1 or 2. In some configurations,the method 800 may be implemented in conjunction with the application140 and/or the user interface 135 illustrated in FIG. 1.

At block 605, upon detecting one or more present conditions associatedwith the one or more observations made, one or more actions may beoffered to be performed. At block 610, one or more observations may becommunicated to the occupant. At least one of the observations may bebased on the occupant previously performing one or more actions underone or more conditions. In some cases, at least one of the observationsmay be based on the occupant previously performing one or more actionsunder one or more conditions. At block 615, it may be confirmed with theoccupant whether to perform the one or more actions offered. At block620, upon receiving a confirmation from the occupant in the affirmative,the one or more actions may be performed. At block 625, upon receiving aconfirmation from the occupant in the affirmative, a setting may besaved in a profile of the occupant based on the one or more actionsperformed and the one or more conditions associated with the one or moreactions, or the conditions under which the one or more actions areperformed.

FIG. 7 depicts a block diagram of a controller 700 suitable forimplementing the present systems and methods. The controller 700 may bean example of the set top box device 105, mobile computing device 155,and/or premises automation controller 160 illustrated in FIG. 1. In oneconfiguration, controller 700 includes a bus 705 which interconnectsmajor subsystems of controller 700, such as a central processor 710, asystem memory 715 (typically RAM, but which may also include ROM, flashRAM, or the like), an input/output controller 720, an external audiodevice, such as a speaker system 725 via an audio output interface 730,an external device, such as a display screen 735 via display adapter740, an input device 745 (e.g., remote control device interfaced with aninput controller 750), multiple USB devices 765 (interfaced with a USBcontroller 770), and a storage interface 780. Also included are at leastone sensor 755 connected to bus 705 through a sensor controller 760 anda network interface 785 (coupled directly to bus 705).

Bus 705 allows data communication between central processor 710 andsystem memory 715, which may include read-only memory (ROM) or flashmemory (neither shown), and random access memory (RAM) (not shown), aspreviously noted. The RAM is generally the main memory into which theoperating system and application programs are loaded. The ROM or flashmemory can contain, among other code, the Basic Input-Output system(BIOS) which controls basic hardware operation such as the interactionwith peripheral components or devices. For example, the progressiveprofiling module 145-b to implement the present systems and methods maybe stored within the system memory 715. Applications (e.g., application140) resident with controller 700 are generally stored on and accessedvia a non-transitory computer readable medium, such as a hard disk drive(e.g., fixed disk 775) or other storage medium. Additionally,applications can be in the form of electronic signals modulated inaccordance with the application and data communication technology whenaccessed via interface 785.

Storage interface 780, as with the other storage interfaces ofcontroller 700, can connect to a standard computer readable medium forstorage and/or retrieval of information, such as a fixed disk drive 775.Fixed disk drive 775 may be a part of controller 700 or may be separateand accessed through other interface systems. Network interface 785 mayprovide a direct connection to a remote server via a direct network linkto the Internet via a POP (point of presence). Network interface 785 mayprovide such connection using wireless techniques, including digitalcellular telephone connection, Cellular Digital Packet Data (CDPD)connection, digital satellite data connection, or the like. In someembodiments, one or more sensors (e.g., motion sensor, smoke sensor,glass break sensor, door sensor, window sensor, carbon monoxide sensor,and the like) connect to controller 700 wirelessly via network interface785.

Many other devices or subsystems (not shown) may be connected in asimilar manner (e.g., entertainment system, computing device, remotecameras, wireless key fob, wall mounted user interface device, cellradio module, battery, alarm siren, door lock, lighting system,thermostat, home appliance monitor, utility equipment monitor, and soon). Conversely, all of the devices shown in FIG. 7 need not be presentto practice the present systems and methods. The devices and subsystemscan be interconnected in different ways from that shown in FIG. 7. Theaspect of some operations of a system such as that shown in FIG. 7 arereadily known in the art and are not discussed in detail in thisapplication. Code to implement the present disclosure can be stored in anon-transitory computer-readable medium such as one or more of systemmemory 715 or fixed disk 775. The operating system provided oncontroller 700 may be iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS/2®,UNIX®, LINUX®, or another known operating system.

Moreover, regarding the signals described herein, those skilled in theart will recognize that a signal can be directly transmitted from afirst block to a second block, or a signal can be modified (e.g.,amplified, attenuated, delayed, latched, buffered, inverted, filtered,or otherwise modified) between the blocks. Although the signals of theabove described embodiment are characterized as transmitted from oneblock to the next, other embodiments of the present systems and methodsmay include modified signals in place of such directly transmittedsignals as long as the informational and/or functional aspect of thesignal is transmitted between blocks. To some extent, a signal input ata second block can be conceptualized as a second signal derived from afirst signal output from a first block due to physical limitations ofthe circuitry involved (e.g., there will inevitably be some attenuationand delay). Therefore, as used herein, a second signal derived from afirst signal includes the first signal or any modifications to the firstsignal, whether due to circuit limitations or due to passage throughother circuit elements which do not change the informational and/orfinal functional aspect of the first signal.

While the foregoing disclosure sets forth various embodiments usingspecific block diagrams, flowcharts, and examples, each block diagramcomponent, flowchart step, operation, and/or component described and/orillustrated herein may be implemented, individually and/or collectively,using a wide range of hardware, software, or firmware (or anycombination thereof) configurations. In addition, any disclosure ofcomponents contained within other components should be consideredexemplary in nature since many other architectures can be implemented toachieve the same functionality.

The process parameters and sequence of steps described and/orillustrated herein are given by way of example only and can be varied asdesired. For example, while the steps illustrated and/or describedherein may be shown or discussed in a particular order, these steps donot necessarily need to be performed in the order illustrated ordiscussed. The various exemplary methods described and/or illustratedherein may also omit one or more of the steps described or illustratedherein or include additional steps in addition to those disclosed.

Furthermore, while various embodiments have been described and/orillustrated herein in the context of fully functional computing systems,one or more of these exemplary embodiments may be distributed as aprogram product in a variety of forms, regardless of the particular typeof computer-readable media used to actually carry out the distribution.The embodiments disclosed herein may also be implemented using softwaremodules that perform certain tasks. These software modules may includescript, batch, or other executable files that may be stored on acomputer-readable storage medium or in a computing system. In someembodiments, these software modules may configure a computing system toperform one or more of the exemplary embodiments disclosed herein.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the present systems and methods and their practicalapplications, to thereby enable others skilled in the art to bestutilize the present systems and methods and various embodiments withvarious modifications as may be suited to the particular usecontemplated.

Unless otherwise noted, the terms “a” or “an,” as used in thespecification and claims, are to be construed as meaning “at least oneof.” In addition, for ease of use, the words “including” and “having,”as used in the specification and claims, are interchangeable with andhave the same meaning as the word “comprising.” In addition, the term“based on” as used in the specification and the claims is to beconstrued as meaning “based at least upon.”

What is claimed is:
 1. A computer-implemented method for progressivelyprofiling each occupant of a premises, the method comprising: analyzingdata related to a premises and an occupant of the premises; performingone or more observations based on the analysis of the data, at least oneof the one or more observations being based at least in part on theoccupant previously performing one or more actions under one or moreconditions, wherein at least one of the one or more observationsincludes observing language characteristics used by the occupant whenperforming the one or more actions, wherein the one or more actionscomprise the user interacting with one or more electronic devices andaltering, based at least in part on the interacting, the state of theone or more electronic devices; detecting the one or more conditionsassociated with the one or more observations; generating a communicationindicating to the occupant that the one or more conditions in which theoccupant has been observed to take the one or more actions have beendetected; offering, in the generated communication, to perform the oneor more actions previously performed by the occupant under the detectedone or more conditions, wherein at least a portion of the generatedcommunication is formulated based at least in part on the observedlanguage characteristics previously used by the occupant when performingthe one or more actions; and upon receiving a confirmation from theoccupant in the affirmative, performing the one or more actions.
 2. Themethod of claim 1, further comprising: communicating to the occupant theone or more observations.
 3. The method of claim 1, further comprising:confirming with the occupant whether to perform the one or more actionsoffered.
 4. The method of claim 3, further comprising: upon receiving aconfirmation from the occupant in the affirmative, saving a setting in aprofile of the occupant based on the one or more actions performed andthe one or more conditions under which the one or more actions areperformed.
 5. The method of claim 1, wherein at least one observation ismade in relation to one or more words written by the occupant.
 6. Themethod of claim 1, further comprising: offering to perform the one ormore actions upon predicting one or more conditions before the one ormore conditions occur.
 7. The method of claim 1, wherein at least oneobservation is made in relation to at least one of an identity of theoccupant, a profile of the occupant, what action is performed, when anaction is performed, who performs the action, where the action isperformed, a device used to perform the action, an outside temperature,an indoor temperature, a state of one or more electronic devices beforethe action is performed, and a state of one or more electronic devicesafter the action is performed.
 8. The method of claim 1, furthercomprising: communicating to the occupant the one or more conditionsunder which the occupant has been observed previously performing the oneor more actions.
 9. The method of claim 1, further comprising: notifyingthe occupant that the one or more conditions exist.
 10. A computingdevice configured for progressive profiling in a home automation system,comprising: a processor; memory in electronic communication with theprocessor; instructions stored in the memory, the instructions beingexecutable by the processor to: analyze data related to a premises andan occupant of the premises; perform one or more observations based onthe analysis of the data, at least one of the one or more observationsbeing based at least in part on the occupant previously performing oneor more actions under one or more conditions, wherein at least one ofthe one or more observations includes observing language characteristicsused by the occupant when performing the one or more actions, whereinthe one or more actions comprise the user interacting with one or moreelectronic devices and altering, based at least in part on theinteracting, the state of the one or more electronic devices; detect theone or more conditions associated with the one or more observations;generate a communication indicating to the occupant that the one or moreconditions in which the occupant has been observed to take the one ormore actions have been detected; offer, in the generated communication,to perform the one or more actions previously performed by the occupantunder the detected one or more conditions, wherein at least at portionof the generated communication is formulated based at least in part onthe observed language characteristics previously used by the occupantwhen performing the one or more actions; and upon receiving aconfirmation from the occupant in the affirmative, performing the one ormore actions.
 11. The computing device of claim 10, wherein theinstructions are executable by the processor to: communicate to theoccupant the one or more observations.
 12. The computing device of claim10, wherein the instructions are executable by the processor to: confirmwith the occupant whether to perform the one or more actions offered.13. The computing device of claim 12, wherein the instructions areexecutable by the processor to: upon receiving a confirmation from theoccupant in the affirmative, save a setting in a profile of the occupantbased on the one or more actions performed and the one or moreconditions under which the one or more actions are performed.
 14. Thecomputing device of claim 10, wherein at least one observation is madein relation to one or more words written by the occupant.
 15. Acomputer-program product for progressive profiling, by a processor, in ahome automation system, the computer-program product comprising anon-transitory computer-readable medium storing instruction thereon, theinstructions being executable by the processor to: analyze data relatedto a premises and an occupant of the premises; perform one or moreobservations based on the analysis of the data, at least one of the oneor more observations being based at least in part on the occupantpreviously performing one or more actions under one or more conditions,wherein at least one of the one or more observations includes observinglanguage characteristics used by the occupant when performing the one ormore actions, wherein the one or more actions comprise the userinteracting with one or more electronic devices and altering, based atleast in part on the interacting, the state of the one or moreelectronic devices; detecting the one or more conditions associated withthe one or more observations; generating a communication indicating tothe occupant that the one or more conditions in which the occupant hasbeen observed to take the one or more actions have been detected;offering, in the generated communication, to perform the one or moreactions previously performed by the occupant under the detected one ormore conditions, wherein at least a portion of the generatedcommunication is formulated based at least in part on the observedlanguage characteristics previously used by the occupant when performingthe one or more actions; and upon receiving a confirmation from theoccupant in the affirmative, performing the one or more actions.
 16. Thecomputer-program product of claim 15, wherein the instructions areexecutable by the processor to: communicate to the occupant one or moreobservations; and confirm with the occupant whether to perform the oneor more actions offered.